package com.atguigu.day09.test.o2;
/*
为什么进行方法重写?
   父类的方法不能满足子类的需求
判断是否为方法重写的条件:
   1.子类重写父类方法  子类的访问权限 不能比父类更加严格 >=父类的访问权限
   2.子类重写父类方法  子类的返回值类型 如果父类是 void 或基本数据类型  则子类必须与其一致
                                   如果父类是引用数据类型 则子类可以与父类一致也可以是父类的子类
   3.子类重写父类方法 子类的方法名和形参列表 必须与父类一致
注意:
   1.可以使用super 调用父类的方法 super.方法名()
   2.快速重写的操作
        直接在子类中写父类的方法名
        子类中 使用快捷键  ctrl +o 选择要重写的方法

 */
public class Person {

    public Person showInfo(Person a){
        return a;
    }
}
class Student extends Person{
    @Override
    public Student showInfo(Person a) {
        return (Student) a;
    }
}
class Teacher extends Student{
    @Override
    public Teacher showInfo(Person a) {
        return (Teacher) a;
    }
}
